#include "apiinit.h"

#include <QtXml>
#include <QFile>

#include <QDebug>

// 最后的错误信息
extern QString g_lastError;

int apiLoadCryptolalia(QList<QString> &out_list)
{
    // 加载密语资源文件
    QFile file(":/xml/cryptolalia");

    if (!file.open(QFile::ReadOnly | QFile::Text)) {
        // 系统无法打开文件。
        return 4;
    }


    QDomDocument document;
    QString error;
    int row = 0, column = 0;
    if (!document.setContent(&file,false,&error,&row,&column)) {
        g_lastError = error;
        return -1;
    }

    if (document.isNull()) {
        return -1;
    }

    // resources root
    QDomElement root = document.documentElement();


    // string-array node
    QDomElement cryptolalia = root.firstChildElement("string-array");

    if (cryptolalia.isNull()) {
        return -1;
    }
    // item node
    QDomNodeList temp = cryptolalia.childNodes();
    const int count = temp.count();


    // 循环遍历 item 标签 并将其推入 list 列表
    for (int i = 0; i < count; ++i) {
        out_list.push_back(temp.item(i).toElement().text());
    }

    return 0;
}

int apiLoadInitSql(QList<QString> &out_list) {
    QFile file(":/sql/auditapi");
    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        qDebug()<<"Can't open the file!"<<endl;
        return 4;
    }
    while(!file.atEnd()) {
        QByteArray line = file.readLine();
        out_list.push_back(line);
    }
    return 0;
}
